package demo2;

import java.util.HashSet;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 石方旭
 * Date: 2022-06-28
 * Time: 18:45
 */
public class Test {


    public static void main(String[] args) {

    }

    public static void main1(String[] args) {
        //set集合不能用普通for循环来遍历-->没有索引值
        //不包含重复元素的集合
        //hashset对集合的迭代顺序不做任何保证
        //hashset保证元素的唯一性
//        HashSet<String> set = new HashSet<>();
//        set.add("石方旭");
//        set.add("马子林");
//        set.add("娄可森");
//        //System.out.println(set);
//        for(String s:set){
//            System.out.println(s);
//        }
//哈希值就是JDK根据指定的对象的地址，字符串，数字等属性计算出来的一个int类型的值。可以把哈希值理解为就是对象对应的编号
//1.同一个对象多次调用hashCode()方法获取哈希值，结果肯定是一样的。
//2.默认情况下，不同对象的哈希值是不同的，但我们可以通过方法重写，实现让不同对象的哈希值也相同。
//3.同一个对象的哈希值肯定相同，不同对象的哈希值一般不同，有可能出现相同的情况，尽量避免
//4.实际开发中，我们认为，如果同一个类的两个对象的各个属性值都相同，那么它们就是同一个对象。
        System.out.println("s".hashCode());
        System.out.println("重里".hashCode());
        System.out.println("通话".hashCode());
        //同一对象的hash值一定是相同的，字符串重写了hashcode方法，不同对象的hash值一般是不同的，可以相同
    }


}
